home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 5 / Apprentice-Release5.iso / Demos / Bowers Development / AppMaker 2.0b5 / Examples / Procedural / Gadgets / Buttons.c < prev    next >
Text File  |  1996-03-19  |  5KB  |  207 lines

  1. /* Buttons.c */
  2. /* Created 01/01/95 12:01 PM by AppMaker */
  3.  
  4. #include <Types.h>
  5. #include <Quickdraw.h>
  6. #include <Controls.h>
  7. #include <Dialogs.h>
  8. #include <Events.h>
  9. #include <Lists.h>
  10. #include <Menus.h>
  11. #include <Resources.h>
  12. #include <TextEdit.h>
  13. #include <ToolUtils.h>
  14. #include "ResourceDefs.h"
  15. #include "Globals.h"
  16. #include "Miscellany.h"
  17. #include "Scrolling.h"
  18. #include "WindowAids.h"
  19. #include "GadgetsData.h"
  20. #include "Buttons.h"
  21.  
  22. #define OKButton        1
  23. #define X3DButton        2
  24. #define PictButtonButton        3
  25. #define TitledPictButton        4
  26. #define CheckCheck        5
  27. #define PictCheckCheck        6
  28. #define X3DCheckCheck        7
  29.  
  30. static void DoOKButton (void);
  31. static void DoX3DButton (void);
  32. static void DoPictButtonButton (void);
  33. static void DoTitledPictButton (void);
  34.  
  35. /*----------*/
  36. static void DoOKButton ()
  37. {
  38. } /*DoOKButton*/
  39.  
  40. /*----------*/
  41. static void DoX3DButton ()
  42. {
  43. } /*DoX3DButton*/
  44.  
  45. /*----------*/
  46. static void DoPictButtonButton ()
  47. {
  48. } /*DoPictButtonButton*/
  49.  
  50. /*----------*/
  51. static void DoTitledPictButton ()
  52. {
  53. } /*DoTitledPictButton*/
  54.  
  55. /*----------*/
  56. void OpenButtons    (FSSpec*    fileSpec,
  57.                          short        fRefNum)
  58. {
  59.     WindowPtr        newWindow;
  60.     Rect            bounds;
  61.  
  62.     newWindow = GetWindow (WIND_Buttons);
  63.     if (fileSpec->name [0] != 0) {
  64.         SetWTitle (newWindow, fileSpec->name);
  65.     }
  66.     SetPort (newWindow);
  67.     SetNewInfo (newWindow);
  68.     cur->vScroll = nil;
  69.     cur->hScroll = nil;
  70.     cur->fileNum    = fRefNum;
  71.     cur->dirty        = false;
  72.     cur->filename    = NewString (fileSpec->name);
  73.     cur->windowKind = WButtons;
  74.     ((WindowPeek) curWindow)->windowKind = userKind + WButtons;
  75.     cur->witlHandle = GetResource ('Witl', WIND_Buttons);
  76.     cur->wictHandle = GetResource ('Wict', WIND_Buttons);
  77.  
  78.     cur->OKHandle = GetNewControl (CNTL_OK, newWindow);
  79.     cur->X3DHandle = GetNewControl (CNTL_X3D, newWindow);
  80.     cur->PictButtonHandle = GetNewControl (CNTL_PictButton, newWindow);
  81.     cur->TitledPictHandle = GetNewControl (CNTL_TitledPict, newWindow);
  82.     cur->CheckHandle = GetNewControl (CNTL_Check, newWindow);
  83.  
  84.         cur->CheckChecked = false;
  85.     cur->PictCheckHandle = GetNewControl (CNTL_PictCheck, newWindow);
  86.  
  87.         cur->PictCheckChecked = false;
  88.     cur->X3DCheckHandle = GetNewControl (CNTL_X3DCheck, newWindow);
  89.  
  90.         cur->X3DCheckChecked = false;
  91.     cur->text = nil;
  92.  
  93.     ShowWindow (newWindow);
  94.  
  95. } /*OpenButtons*/
  96.  
  97. /*----------*/
  98. void CloseButtons    (void)
  99. {
  100.  
  101.     DisposHandle ((Handle) cur->filename);
  102.     DiscardInfo (curWindow);
  103. } /*CloseButtons*/
  104.  
  105. /*----------*/
  106. void ControlButtons  (ControlHandle        whichControl,
  107.                          short                whichPart,
  108.                          Point                where)
  109. {
  110.     Rect            bounds;
  111.  
  112.     if (whichControl == cur->OKHandle) {
  113.         if (TrackButton (cur->OKHandle, where)) {
  114.             DoOKButton ();
  115.         }
  116.     }
  117.     if (whichControl == cur->X3DHandle) {
  118.         if (TrackButton (cur->X3DHandle, where)) {
  119.             DoX3DButton ();
  120.         }
  121.     }
  122.     if (whichControl == cur->PictButtonHandle) {
  123.         if (TrackButton (cur->PictButtonHandle, where)) {
  124.             DoPictButtonButton ();
  125.         }
  126.     }
  127.     if (whichControl == cur->TitledPictHandle) {
  128.         if (TrackButton (cur->TitledPictHandle, where)) {
  129.             DoTitledPictButton ();
  130.         }
  131.     }
  132.     if (whichControl == cur->CheckHandle) {
  133.         TrackCheck (cur->CheckHandle, where, &cur->CheckChecked);
  134.     }
  135.     if (whichControl == cur->PictCheckHandle) {
  136.         TrackCheck (cur->PictCheckHandle, where, &cur->PictCheckChecked);
  137.     }
  138.     if (whichControl == cur->X3DCheckHandle) {
  139.         TrackCheck (cur->X3DCheckHandle, where, &cur->X3DCheckChecked);
  140.     }
  141.  
  142. } /*ControlButtons*/
  143.  
  144. /*----------*/
  145. void MouseInButtons    (Point        where,
  146.                          short        modifiers)
  147. {
  148.     Rect            bounds;
  149.  
  150.  
  151. } /*MouseInButtons*/
  152.  
  153. /*----------*/
  154. void TypeInButtons   (char        ch)
  155. {
  156.     if (cur->text == nil) {
  157.         SysBeep (1);
  158.     } else {
  159.         TEKey (ch, cur->text);
  160.         cur->dirty = true;
  161.     }
  162. } /*TypeInButtons*/
  163.  
  164. /*----------*/
  165. void UpdateButtons (void)
  166. {
  167.     Rect            bounds;
  168.  
  169.     SetWFont (OKButton);
  170.     Draw1Control (cur->OKHandle);
  171.     SetWFont (X3DButton);
  172.     Draw1Control (cur->X3DHandle);
  173.     SetWFont (PictButtonButton);
  174.     Draw1Control (cur->PictButtonHandle);
  175.     SetWFont (TitledPictButton);
  176.     Draw1Control (cur->TitledPictHandle);
  177.     SetWFont (CheckCheck);
  178.     Draw1Control (cur->CheckHandle);
  179.     SetWFont (PictCheckCheck);
  180.     Draw1Control (cur->PictCheckHandle);
  181.     SetWFont (X3DCheckCheck);
  182.     Draw1Control (cur->X3DCheckHandle);
  183.     DrawClippedGrow (-15, -15);
  184. } /*UpdateButtons*/
  185.  
  186. /*----------*/
  187. void ActivateButtons    (Boolean    activate)
  188. {
  189.  
  190.     DrawClippedGrow (-15, -15);
  191. } /*ActivateButtons*/
  192.  
  193. /*----------*/
  194. void ResizeButtons    (void)
  195. {
  196.     /* application-specific code to resize items in window */
  197. } /*ResizeButtons*/
  198.  
  199. /*----------*/
  200. pascal void ScrollButtons    (short        newValue,
  201.                                  short        oldValue)
  202. {
  203.     /* application-specific code to scroll window */
  204. } /*ScrollButtons*/
  205.  
  206. /* Buttons */
  207.